Jeff Beckley
August 23, 2000
Here's some issues to solve involving the Application Data folder, Windows 2000, installers, and other things.
Notation:
The term "Application Data folder" is a shortcut for the folder "C:\Documents and Settings\username\Application Data\Qualcomm\Eudora".
Assumptions/constraints:
1. The Application Data folder can basically only be determined under Win 98 and Win 2000. There may be some 95 and NT systems that have the correct version of Shell32.dll to get the Application Data folder (version 4.71), but most installs of IE 4.x/5.x do not upgrade Shell32.dll.
2. The Application Data folder is hidden by default.
3. Under Win 95/98/NT, programs can be installed by Users.
4. Under Win 2000, programs have to be installed by Administrators.
5. Under Win 2000, Administrators create files/directories that have read-only permissions for Users.
6. A non-insignificant number of Users want to install multiple copies of Eudora on the same machine, with each one having their own data folder.
7. Administrators are smart.
8. Users are dumb.
9. InstallShield is even dumber than Users.
Problem:
That led us to the conclusion that we need to provide a way in the installer to give the person doing the install a choice of where the data directory should be. We've wanted this for a long time now, and actually provide a way to do it in the Site Installer, but now we feel compelled to give this capability to the Great Unwashed(TM). We also want to do it because of #4, #5, and #8 with the current installer means that Win 2000 Users will be able to run Eudora. We also are being benevolent parents, and are wanting to hint to our children that the practice of separating programs and data is a good thing, but we don't want them to get hurt if they can't handle the awesome responsibility.
Implementation:
The main panel in the current installer that asks for where to install the program will be changed to look like this:
Destination Folder:
C:\Program Files\Qualcomm\Eudora [Browse]
Folder where Eudora will store mail, settings, address books, etc.:
(*) C:\Program Files\Qualcomm\Eudora [Browse]
( ) User's Application Data folder
In the setting for the data folder, the default value for the first radio button will be the same as the folder specified in the destination folder. The Browse button will of course allow the user to specify a particular place for data to go. If the user changes the destination folder, the data folder will change to that folder as well. Because of #9, we may not be able to leave the data folder alone if the user changes the data folder and then changes the destination folder.
If the first radio button is selected, the installer will create a Eudora.ini file in the specified folder, and set the registry entry telling Eudora where to find the data folder. If the second radio button is selected, the installer will create a DEudora.ini file in the specified Destination Folder, and will clear the registry entry telling Eudora where to find the data folder. Either case will not overwrite an existing file.
Reasoning:
Under 95/98/NT, the default for the data folder will be the one shown: same place as the program. This is because of #1, #2, #3, #6, #8, and #9. #6 is a little subtle, but if we don't put a Eudora.ini file in the folder where the program is installed, then when the user starts up one of the specific Eudora installations, Eudora will assume to use the Application Data directory. This will be bad because of #6 and #8.
Under Win 2000, the default for the data folder will be the User's Application Data folder. This is because of #4, #5, and #8 (as mentioned previously).
When the person installing selects the second radio button when it is not the default, they will get a modal dialog that looks something like this:
Warning!
You have chosen to have Eudora store its data in the user's
Application Data folder. That folder is hidden by default.
If you would like to see that folder in an Explorer window,
you must first go to Tools->Folder Options in an Explorer
window, click on the View tab, and then select "Show hidden
files and folders".
Would you like to continue with using the Application Data folder?
[ Yes ] [[ No ]]
We only put this up for 95/98/NT because of #3, #4, #7 and #8. We would like to put the actual path to the Application Data folder, but can't because of #9.
I thought about putting up a warning under Win 2000 if the person installing does not select the User's Application Data folder, but because of #4 and #7 I think we can let it slide.